home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / tools / dfÜ / bbs / tronbbs / tron / docs / lists / menucommands.list < prev    next >
Encoding:
Text File  |  1996-07-16  |  17.3 KB  |  724 lines

  1.  
  2.       ===( Tron BBS Menu Commands )=================
  3.  
  4.  
  5.       The tron BBS system works with menus , these consist of
  6.       readable text files with commands and a pascal like structure.
  7.  
  8.       To make a menu is easy, menus have a simple structure and
  9.       there are a lot of commands you can Use in a menu to
  10.       create a complete BBS system.
  11.       The first menu which is started when someone 'logs in' is
  12.       the 'start.menu'.
  13.       In a menu you can call other menus, so you
  14.       can expand it almost infinitly.
  15.  
  16.       Before you can use a menu you have to 'compile' it, this
  17.       is done by calling the 'menu' utility which checks your
  18.       menus on errors and makes a binary file from it.
  19.  
  20.       The text files are called 'source' and the result of the
  21.       menu compiler are the menus.
  22.       You find the sources of the menus in the 'tron:menus/' 
  23.       directory, this also consist a subdirectory for the
  24.       compiled menus.
  25.  
  26.  
  27.       Compiling a menu:                'menu door.src'
  28.       (compiles the 'door' menu)
  29.  
  30.       Wildcards are allowed:           'menu #?'
  31.       (this compiles all menus)
  32.  
  33.  
  34.  
  35.       Example of a bit of menu:
  36.       =========================
  37.  
  38.  
  39.  
  40. Menu "start.menu"                        ; Name of the menu after compiling
  41.  
  42. flags  hotkeyable                        ; Make menu hotkeyable
  43. level  0 - 255 , "Start.Ansi"            ; List with ANSI files and levels
  44. prompt 0 , 0 - 255 , "Start Menu : "     ; List with prompts
  45. prompt 1 , 0 - 255 , "Start Menu : "
  46.  
  47. BEGIN     ; Start the command definitions
  48.  
  49.  
  50. Cmd "G"                               ; Reachable for all users.
  51.    Print "Bye.|"
  52.    Logout
  53. EndCmd
  54.  
  55. Cmd "D"  , 255                        ; Reachable only to sysops.
  56.    DosShell
  57. EndCmd
  58.  
  59. Cmd "T" , 128 - 255                   ; Users with level 128 or higher.
  60.    GotoMenu "Test.Menu"               ; Jump to an other menu
  61. EndCmd
  62.  
  63. END                                   ; End of commands section
  64.  
  65.  
  66.  
  67.       More about the menu structure:
  68.       ==============================
  69.  
  70.       The first part of a menu is the definitions part.
  71.       This tells the BBS how to execute the menu and what for
  72.       screens and prompts te Use.
  73.  
  74.       Menu line:
  75.  
  76.       The first line should be 'Menu  "name.menu"'
  77.       This line tells the compiler how the binary file it
  78.       makes is called. This is the file the BBS uses to
  79.       execute a menu. When you call an other menu you
  80.       also should use this name.
  81.  
  82.       flags, level and prompt lines:
  83.  
  84.       The next lines in the definitions part are lines where
  85.       you can define flags, screens and prompts.
  86.  
  87.       At this moment there is only the flag 'hotkeyable' .. if
  88.       you want to use hotkeys in this menu you put a line:
  89.       'flags  hotkeyable' here .. this means that the BBS doesn't
  90.       wait for a return after the input of a user but directly
  91.       interpretes every key a user hit in real time.
  92.  
  93.       With the level lines you can define what screens are
  94.       showed in combination with what level.
  95.       The format of this line is:
  96.       'level  level-range , screenfile'
  97.  
  98.       The system searched for the 'screenfile' in the directory
  99.       'tron:menutext/' if the menu set if the user is set 0.
  100.       If the set is higher the system searches in directory
  101.       'tron:menutext1/' or 'tron:menutext2/' or higher.
  102.       If there is no such directory or file the system uses the
  103.       default 'tron:menutext/' directory.
  104.  
  105.       With the prompt lines you can define what prompt line is
  106.       displayed under a menu screen.
  107.       The format of this line is:
  108.       'prompt  menu-set, level-range , prompt-line'
  109.       Because of the menuset parameter you can make a line
  110.       for each language set you use.
  111.  
  112.       There can be as many level or prompt lines as needed in your menu.
  113.  
  114.  
  115.  
  116.  
  117.       The second part of a menu file is the commands section.
  118.  
  119.       This section start with a 'BEGIN' line and ends with a 'END'
  120.       line.
  121.       Between these lines are the commands.
  122.  
  123.       Command lines start with a 'Cmd "string"' part optionally
  124.       folowed with levels or flags to indicate who can run this command.
  125.       You can use a single level like '255' or a range like '10 - 255'.
  126.       There are to possible flags you can use:
  127.       S = sysop, only local (at the keyboard) can use the command.
  128.       U = user, only remote users (at a serial port) can use the command.
  129.       Flags and levels are separated by a comma.
  130.  
  131.       Examples:
  132.  
  133. Cmd  "A"                ; Can be used by everyone.
  134. Cmd  "A" , 5 - 255      ; Can be used by users with a level from 5 to 255.
  135. Cmd  "A" , S            ; Only to use localy.
  136. Cmd  "A" , 255 , U      ; Only to use remotely with a sysop level.
  137. Cmd  "A" , SU           ; Can be used everywhere
  138.  
  139.  
  140.  
  141.       Instead of 'Cmd' you also van use 'MenuBegin', 'MenuEnd',
  142.       'CommandBegin' or CommandEnd'.
  143.       With these you can execute an number of menu commands each
  144.       time a command is started or finished, or when a menu is
  145.       entered.
  146.  
  147.       This is Usefull when you want to log whenever a user
  148.       enters a menu, for example:
  149.  
  150. MenuBegin
  151.    LogMessage "Entered main menu."
  152. EndCmd
  153.  
  154.  
  155.       Or when you want to use RIP-scrip commands in a menu:
  156.  
  157. MenuBegin
  158.    Print "!|"                          ;RIP-scrip mode on
  159. EndCmd
  160.  
  161. MenuEnd
  162.    Print "!|"                          ;RIP-scrip mode off
  163. EndCmd
  164.  
  165.  
  166.  
  167.       After a 'Cmd' line a number of lines with commands if followed
  168.       after the last of these lines a 'EndCmd' line is needed.
  169.  
  170.  
  171.  
  172.       Menu commands:
  173.       ==============
  174.  
  175.       Commands may be in Uppercase, Lowercase or both mixed.
  176.       Some commands need an 'argument', arguments may be placed between ""
  177.       which means that that data is taken exactly as it was typed in, if
  178.       you don't use "" the first word or number will be used en spaces
  179.       will be removed.
  180.  
  181.  
  182.  
  183.  
  184.  
  185.   #   Command:
  186. ========================================================================
  187.  
  188.   1   Logout
  189.  
  190.       The user is logged of the system immediatly.
  191.  
  192.  
  193.   2   GotoMenu "name.menu"
  194.  
  195.       Goto the menu with name "name.menu".
  196.  
  197.  
  198.   3   Changelevel
  199.  
  200.       Asks for a new level for the user online.
  201.  
  202.  
  203.   4   Print    "Text|"
  204.  
  205.       Prints text to the screen.
  206.       Use the '|' character for a return to the next line.
  207.  
  208.  
  209.   5   ChangeAccesLevel   "xxx"
  210.  
  211.       Change the level of the current user to "xxx".
  212.  
  213.  
  214.   6   Pause      "50"
  215.  
  216.       This command waits a certain time before continuing, the time is
  217.       given in 'ticks' wich is about 1/50 of a second.
  218.       So Pause "50" waits 1 second.
  219.  
  220.  
  221.   7   More
  222.  
  223.       Asks the user to 'press return' to continue.
  224.  
  225.  
  226.   8   LogMessage      "Text"
  227.  
  228.       Sends a line of text to the log file, you can use tilde codes,
  229.       so you can log FI to which area a user changed.
  230.       Note: don't use a return on the end of the line.
  231.  
  232.  
  233.   9   PrintFile       "path/file"
  234.  
  235.       Prints a file to the screen and the serial port.
  236.  
  237.  
  238.  10   ClrScr
  239.  
  240.       Clears the screen.
  241.  
  242.  
  243.  11   PassWord        "SecretWord"
  244.  
  245.       Asks for a password to continue.
  246.       When after 3 tries the password is not entered correctly the
  247.       execution of the command is stopt.
  248.  
  249.  
  250.  12   ConsolePrint    "Text|"
  251.  
  252.       Prints a line of text to the screen (local), NOT to the serial
  253.       port.
  254.  
  255.  
  256.  13   SerialPrint     "Text|"
  257.  
  258.       Prints a line of text to the serial port (remote), NOT
  259.       to the screen.
  260.  
  261.  
  262.  14   PageSysop
  263.  
  264.       Plays audio samples to get the attention of the sysop.
  265.  
  266.  
  267.  15   DosCommand      "list"  [, stack]
  268.  
  269.       Executes a doscommand Asynchonically.
  270.       Default stack space is 8192 bytes (8 KB).
  271.  
  272.  
  273.  16   PlaySample      "path/file"  [, times]
  274.  
  275.       Plays an audio sample from disc.
  276.       Default times it is played is once.
  277.  
  278.  
  279.  17   CliDoor         "path/door"  [, stack]
  280.  
  281.       Starts a programm like from a shell but with input and output
  282.       via the BBS node the door is started in.
  283.       Default stack space is 8192 bytes (8 KB).
  284.  
  285.  
  286.  18   DownloadFromDos
  287.  
  288.       With this command a user can download files directly from disc
  289.       by entering the path and names of files.
  290.  
  291.  
  292.  19   RemoteShell
  293.  
  294.       Starts a shell with input and output through the node of the BBS.
  295.  
  296.  
  297.  20   LineEditFile
  298.  
  299.       Edits a psysical file in the Line Editor.
  300.  
  301.  
  302.  21   ChangePassword
  303.  
  304.       Asks user for a new password.
  305.  
  306.  
  307.  22   KillUser
  308.  
  309.       Removes a user from the user database.
  310.  
  311.  
  312.  23   ChangeAlias
  313.  
  314.       Asks for a new alias (AKA).
  315.  
  316.  
  317.  24   ChangeSet
  318.  
  319.       Asks for an other text(/menu) set.
  320.  
  321.  
  322.  25   UserList
  323.  
  324.       Lists all users , or searches for users with a wildcard.
  325.       If a user with level 240 or greater uses this command, also
  326.       the aliases will be visible.
  327.  
  328.  
  329.  26   AliasList
  330.  
  331.       Lists all Aliases , or searches for users with a wildcard.
  332.       If a user with level 240 or greater uses this command, also
  333.       the names will be visible.
  334.  
  335.  
  336.  27   ChangeScreenLength
  337.  
  338.       Ask for a new screen length to use for the current user.
  339.  
  340.  
  341.  28   EditUser
  342.  
  343.       Edit a user other than the user currently online.
  344.  
  345.  
  346.  29   FlushUserData
  347.  
  348.       Saves all the data from the current user to disc, this includes
  349.       user account, file scan dates, last read messages.
  350.  
  351.  
  352.  30   RexxDoor        "path/door"  [, stack]
  353.  
  354.       This will start an Arexx script as a door from this node.
  355.       Default stack space is 8192 bytes (8 KB).
  356.  
  357.  
  358.  31   DownloadLogout  "nnn"
  359.  
  360.       This is a CountDown logout, it counts down from "nnn" seconds to
  361.       zero and then logs of the user.
  362.       The count down is interuptable so the user can go back to the BBS.
  363.  
  364.  
  365.  32   ChangeEditor    "nnn"
  366.  
  367.       Changes the messages editor.
  368.  
  369.  
  370.  33   EditSignature
  371.  
  372.       Writes or Edits a text to conclude your messages.
  373.  
  374.  
  375.  34   EditUserOnline
  376.  
  377.       With this command you can edit the user currently online, this can
  378.       be usefull is you login remote.
  379.  
  380.  
  381.  35   ChangeProtocol  "nnn"
  382.  
  383.       Changes the File Transfer Protocol.
  384.  
  385.  
  386.  36   ParagonDoor     "path/door"  [, stack]
  387.  
  388.       Start a "Paragon" Door.
  389.       Default stack space is 8192 bytes (8 KB).
  390.  
  391.  
  392.  37   MaxDoor        "path/door"  [, stack]
  393.  
  394.       Start a "Max's BBS" door , this was implemented to be able
  395.       to use the Max's BBS CD-door.
  396.       Default stack space is 8192 bytes (8 KB).
  397.  
  398.  
  399.  38   DosCommandSync  "list"  [, stack]
  400.  
  401.       Executes a doscommand and waits until it's finished (synchron).
  402.       Default stack space is 8192 bytes (8 KB).
  403.  
  404.  
  405.  39   ViewArchive
  406.  
  407.       This will show the contents of an archive.
  408.  
  409.  
  410.  40   PreviousMenu
  411.  
  412.       This will jump back to the previous menu, it is only one jump
  413.       deep, it is extremly usefull in menus you want to call from
  414.       different menus.
  415.       For example a file list or message read menu, if you use
  416.       the PreviousMenu command in this kind of menus you can use
  417.       the menu from different menus you made for different
  418.       networks to read messages.
  419.  
  420.  
  421.  41   AddUser
  422.  
  423.       Add a User to the UserDatabase.
  424.  
  425.  
  426.  42   ModemCommand       "commandstring"
  427.  
  428.       This command forces the modem in command mode, sends the
  429.       commandstring to the modem, returns the modem online
  430.       and shows the results.
  431.       This is usefull with modems with a status command.
  432.  
  433.       If you use this line with a SupraFax V32B modem:
  434.       ModemCommand "AT%Q%L"
  435.  
  436.       It displays the line quality and signal strength like this
  437.       on your screen :
  438.  
  439.     008
  440.  
  441.     015
  442.  
  443.     OK
  444.  
  445.  
  446.  
  447.  43   FlushBuffer
  448.  
  449.       Flushes the inputs of a user from the input buffer.
  450.  
  451.  
  452.  44   PushIntoBuffer     "input"
  453.  
  454.       Pushes something in the input buffer. This gives the
  455.       same effect as if the user typed the 'input' himself.
  456.  
  457.       With this you can write more complex commands, like
  458.       a command to let users write messages to CoSysops.
  459.  
  460.       ChangeMessageArea "1"       ;Change to area 'CommentToSysop'.
  461.       FlushBuffer
  462.       PushIntoBuffer "CoSysop|"   ;Push receiver name in buffer.
  463.       WriteMessage
  464.       FlushBuffer                 ;Flush 'CoSysop' if no writeAcces
  465.  
  466.  
  467.  
  468.  45   StartChat
  469.  
  470.       This command start the buildin chat mode, this is what would
  471.       happen is the sysop hits the F1-key, this is usefull in
  472.       a PageSysop door that lets the sysop choose a chatmode
  473.       in a workbench window.
  474.  
  475.  
  476.  
  477.  
  478. 100   ChangeMessageArea  "xxx"
  479.  
  480.       Change the current message area to number "xxx".
  481.  
  482.  
  483. 101   OtherMessageArea
  484.  
  485.       Asks for a message area number to change to.
  486.  
  487.  
  488. 103   WriteMessage
  489.  
  490.       Writes a message in the current message area.
  491.  
  492.  
  493.  
  494. 105   ReadWaitingMail
  495.  
  496.       Shows all waiting mail to the user currently online.
  497.  
  498.  
  499. 106   CommentToSysop
  500.  
  501.       Writes a message to the sysop.
  502.  
  503.  
  504. 107   ListMsgAreas
  505.  
  506.       Shows a list with all message area available to the user online.
  507.  
  508.  
  509. 108   ReadGlobalNew
  510.  
  511.       Read all messages in all areas which haven't been read yet by
  512.       the user online.
  513.  
  514.  
  515. 109   ReadMarkedMessages
  516.  
  517.       Read all messages marked by the user.
  518.  
  519.  
  520. 110   UnmarkMessages
  521.  
  522.       Forget all marked messages.
  523.       
  524.  
  525.  
  526.       Commands to scan and read messages.
  527.  
  528.       Scanning messages is browsing through the information
  529.       in message headers.
  530.  
  531.  
  532.  
  533.  
  534. 130   ScanNew                   Scan new messages.
  535. 131   ScanForward               Scan forward from a number.
  536. 132   ScanReverse               Scan backward from a number.
  537.  
  538. 133   ScanToUser                Scan the 'To' fields from messages.
  539. 134   ScanFromUser              Scan the 'From' fields from messages.
  540. 135   ScanToFromUser            Scan the 'To' & 'From' fields from messages.
  541. 136   ScanSubject               Scan the 'Subject' fields from messages.
  542. 137   ScanToFromSubject         Scan the 'To' & 'From' & 'Subject' fields.
  543.  
  544.  
  545. 160   ReadNew                   Read new messages.
  546. 161   ReadForward               Read forward from a number.
  547. 162   ReadReverse               Read backward from a number.
  548.  
  549. 163   ReadToUser                Read the 'To' fields from messages.
  550. 164   ReadFromUser              Read the 'From' fields from messages.
  551. 165   ReadToFromUser            Read the 'To' & 'From' fields from messages.
  552. 166   ReadSubject               Read the 'Subject' fields from messages.
  553. 167   ReadToFromSubject         Read the 'To' & 'From' & 'Subject' fields.
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. 200   ChangeFileArea     "xxx"
  563.  
  564.       Changes the current file area to number "xxx"
  565.  
  566.  
  567. 201   OtherFileArea
  568.  
  569.       Asks for a file area to change to.
  570.  
  571.  
  572. 202   AddFile
  573.  
  574.       Asks for a filename to add to the BBS, then checks all directories
  575.       of the file areas to find the physical file and then asks a
  576.       description and adds it to the file calalogue.
  577.  
  578.  
  579. 203   DeleteFile
  580.  
  581.       Asks for a filename and then removes it from the filecatalogue,
  582.       the physical file will be moved to 'tron:killedfiles/' with the
  583.       file comment set to the first 80 characters of the description
  584.       of the file.
  585.  
  586.  
  587. 204   Upload
  588.  
  589.       System will receive files with the current selected file
  590.       transfer protocol.
  591.  
  592.  
  593. 205   Download
  594.  
  595.       After this command all marked files will be send with the
  596.       selected file transfer protocol.
  597.  
  598.  
  599. 206   EditFile
  600.  
  601.       This command will ask for a filename , from which the data
  602.       fields can be changed.
  603.  
  604.  
  605. 207   SetScanDate
  606.  
  607.       Sets the date to start a new files scan.
  608.  
  609.  
  610. 208   ListMarkedFiles
  611.  
  612.       Shows a list of all the files marked bij the user online.
  613.  
  614.  
  615. 209   ListFileAreas
  616.  
  617.       Shows a list of all file areas available to the user online.
  618.  
  619.  
  620. 210   MarkFile
  621.  
  622.       Asks for the filename of a file to mark for download.
  623.  
  624.  
  625. 211   UnMarkFiles
  626.  
  627.       This command will clear all marked files.
  628.  
  629.  
  630. 212   MarkName           "filename"
  631.  
  632.       This command will Mark the file "filename" for download, with this
  633.       command you can mark a file (FI your allfiles) or even download it
  634.       with a hotkey.
  635.  
  636.  
  637. 213   KillMarkedFile
  638.  
  639.       Asks for a number from the marked file list and than removes
  640.       the entry from the marked file list.
  641.  
  642.  
  643. 214   UploadToArea       "xxx"
  644.  
  645.       Just like the 'Upload' command, the difference is that in this case
  646.       the BBS doesn't ask for an area to add the file to but uses area 'xxx'.
  647.  
  648.  
  649. 215   MakeFreeDownload
  650.  
  651.       Command to toggle a file to 'FreeDownload' or to clear the
  652.       FreeDownload flag of this file, after this command the system
  653.       will ask for a file name.
  654.  
  655.  
  656.  
  657.  
  658.  
  659.       Commands to show file lists.
  660.  
  661.       (some explanation of the terms used)
  662.  
  663.       'Chrono' means lists in Chronological order.
  664.       'Alpha'  means lists in Alphabetical order.
  665.       'Find'   means searching for files on wildcards.
  666.       'Global' means all areas, if it is not specified it means
  667.                just the current file area.
  668.       'New'    means added to the file catalogue after the last
  669.                file scan.
  670.       'Unvalidated' means files wich are just uploaded and have not been 
  671.                validated by the sysop yet.
  672.  
  673.  
  674.       Commands for the different methodes to 'list' or 'catalog' a file area.
  675.  
  676. 220   CatalogChrono
  677. 221   CatalogAlpha
  678. 222   CatalogChronoReverse
  679. 223   CatalogAlphaReverse
  680. 224   CatalogChronoNew
  681. 225   CatalogChronoGlobalNew
  682. 226   CatalogChronoUnvalidated
  683. 227   CatalogChronoUnvalidatedGlobal
  684. 228   CatalogChronoGlobal
  685. 229   CatalogAlphaGlobal
  686. 230   CatalogFindFile
  687. 231   CatalogFindGlobal
  688. 232   CatalogAlphaNew
  689. 233   CatalogAlphaGlobalNew
  690.  
  691.  
  692.       Commands for the different methodes to 'browse' a file area.
  693.  
  694. 240   BrowseChrono
  695. 241   BrowseAlpha
  696. 242   BrowseChronoReverse
  697. 243   BrowseAlphaReverse
  698. 244   BrowseChronoNew
  699. 245   BrowseChronoGlobalNew
  700. 246   BrowseChronoUnvalidated
  701. 247   BrowseChronoUnvalidatedGlobal
  702. 248   BrowseChronoGlobal
  703. 249   BrowseAlphaGlobal
  704. 250   BrowseFindFile
  705. 251   BrowseFindGlobal
  706. 252   BrowseAlphaNew
  707. 253   BrowseAlphaGlobalNew
  708.  
  709.  
  710.  
  711.                  (These are commands for testing)
  712.  
  713.  
  714. 254   LUMA
  715.  
  716.       Shows a list of active message areas of the user online.
  717.  
  718.  
  719. 255   LUFA
  720.  
  721.       Shows a list of active file areas of the user online.
  722.  
  723.  
  724.